// pages/orderList/orderList.js
const util = require("../../utils/util");

const db = wx.cloud.database();
const _ = db.command;
const $ = db.command.aggregate
const db_orders = db.collection('orders');


Page({

  /**
   * 页面的初始数据
   */
  data: {
    extraOrderDate: '',
    orderList: [],
    userInfo: {},
    fileUrl: ''
  },

  goDownload() {
    wx.navigateTo({
      url: '../download/download?fileUrl=' + this.data.fileUrl,
    })
  },

  //获取fileurl
  geFileUrl(fileId) {
    let that = this;
    wx.cloud.getTempFileURL({
      fileList: [fileID],
      success: res => {
        // get temp file URL
        console.log("文件下载链接", res.fileList[0].tempFileURL)
        that.setData({
          fileUrl: res.fileList[0].tempFileURL
        })
      },
      fail: err => {
        // handle error
        console.error(err)
      }
    })
  },

  //exportOrder 导出数据
  async exportOrder(params) {
    let that = this
    wx.showToast({
      title: '加载中',
      icon: 'loading'
     });
    console.log('exportOrder 导出数据')
    await wx.cloud.callFunction({
      name: 'order',
      data: {
        "action": "exportOrder"
      },
      success: res => {
        console.log("保存成功", res)
        // this.getFileUrl(res.result.fileID)
        wx.cloud.getTempFileURL({
          fileList: [res.result.fileID],
          success: res => {
            // get temp file URL
            console.log("文件下载链接", res.fileList[0].tempFileURL)
            that.setData({
              fileUrl: res.fileList[0].tempFileURL
            })
            wx.hideToast();
            that.goDownload()
          },
          fail: err => {
            // handle error
            console.error(err)
          }
        })
      },
      fail: err => {
        console.error("保存失败", err)
      }
    })
  },

  // 云函数调用
  async getOrder() {
    await wx.cloud.callFunction({
        name: 'order',
        data: {
          "action": "getOrder"
        },
        // success: res => {
        //   console.log(res)
        //   console.log(res.result.list)
        //   this.setData({
        //     orderList: res.result.list
        //   })
        // },
        // fail: err => {
        //   console.error(err)
        // }
      })
      .then(res => {
        console.log(res) // 3
        console.log(res.result.list)
        if (res.result.list.length > 0) {
          this.setData({
            orderList: res.result.list
          })
        }

      })
      .catch(console.error)

    console.log(this.data.orderList)
  },

  // 云函数调用
  async getOrderAll() {
    await wx.cloud.callFunction({
      name: 'order',
      data: {
        "action": "getOrderAll"
      },
      success: res => {
        console.log(res)
        console.log(res.result.list)
        this.setData({
          orderList: res.result.list
        })
      },
      fail: err => {
        console.error(err)
      }
    })
    // .then(res => {
    //   console.log(res) // 3
    //      console.log(res.result.list)
    //      if(res.result.list.length > 0){
    //        this.setData({
    //          orderList: res.result.list
    //        })
    //      }

    // })
    // .catch(console.error)

    console.log(this.data.orderList)
  },

  // 获取订餐列表
  getOrderList(date) {

    db_orders.where({
      extra_order_date: _.gte(util.formatDate(new Date()).date_week)
    }).get({
      success: res => {
        console.log(res.data)
        this.setData({
          orderList: res.data
        });
      },
      fail: err => {
        console.error(err)
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    // this.getOrderList();
    this.getOrderAll();
    this.setData({
      userInfo: wx.getStorageSync('userInfo')
    })


  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})